#ifndef MAIN_H
#define MAIN_H
#include <GL/glut.h>
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <sys/time.h>
#include "./SurfaceFunctions/surfacefunctions.h"
#include "./Kamera/kamera.h"
#include "./3D-Modelle/kran_komplett.h"
#include "./3D-Modelle/schiff_cargo.h"
#include "./3D-Modelle/FassBlau.h"
#include "./3D-Modelle/Boden.h"
#include "./3D-Modelle/container.h"
#include "./3D-Modelle/FassBlau1.h"
#include "./3D-Modelle/cargo_schiff.h"
#include "./3D-Modelle/segelboot.h"
#include "./Timer/Timer.h"
#include "./3D-Modelle/nad_hallekomplett.h"
#include "./3D-Modelle/palette.h"
#include "./3D-Modelle/faesser.h"
#include "./3D-Modelle/steg.h"
#include "./3D-Modelle/flutlicht.h"
#include "./Baum/baum.h"
#include "./Skybox/skybox.h"
#include "./3D-Modelle/palette.h"
#include "./Water/water.h"
#include "./RotationsKoerper/rotkoerper.h"
#include "./GlobalVars/vars.h"
using std::cout;

GLuint dlShip;
GLuint dlTreeT1;
GLuint dlTreeT5;
GLuint dlSkyBoxTag;
GLuint dlSkyBoxNacht;
GLuint dlTreeZaun;
GLuint dlFassBlau;
GLuint dlFassRot;
GLuint dlContainer;
GLuint dlPoller;
GLuint dlStegPoller;
GLuint dlSteg;
GLuint dlBoden;
GLuint dlPallete;
GLuint dlFaesserPallaeteBlau;
GLuint dlFaesserPallaeteRot;
GLuint dlPalletenBergRot;
GLuint dlPalletenBergBlau;

GLuint dlhalle;

GLuint dlFlutlichtTag;
GLuint dlFlutlichtNacht;

GLuint dlKran01Schiene;
GLuint dlKran02Rad;
GLuint dlKran03Radkappe;
GLuint dlKran04Mittelteil;
GLuint dlKran05Oberteil;
GLuint dlKran05Arm;
GLuint dlKran05Hebel;
GLuint dlKran06Stopper;
GLuint dlKran07Hand;
GLuint dlKran07Finger;

void generate_displaylist(GLuint &number, void funk())
{
  
  number = glGenLists(1);
  glNewList(number,GL_COMPILE);
  funk();
  glEndList();


}




#endif
